<?php

class Model_Informacionsolicitud extends Zend_Db_Table_Abstract
{
    public function getRequest($start = 0,$limit = 0){
        
        $data = array();
        
        $limit = ($limit != 0)?'LIMIT '.$start.', '.$limit:'';

        $sql = sprintf("SELECT SQL_CALC_FOUND_ROWS SS.NUM_SOLICITUD, SS.NUM_VACANTES, SS.GRUPO, SS.PRUEBA_TECNICA, SS.OTRA_PRUEBA_TECNICA, CASE SS.MOTIVO_VACANTE WHEN 'PNU' THEN 'Posición nueva' WHEN 'RTO' THEN 'Remplazo por retiro de titular' WHEN 'RTE' THEN 'Reemplazo temporal' END AS MOTIVO_VACANTE,
                        TC.NOMTIPOCONTRATO, TEC.NOMTERMINOCONTRATO, TIC.NOMTIPOCOMPENSACION, SS.VALOR_COMPENSACION, CONCAT(CC.CODCENTROCOSTO, ' | ', CC.NOMCENTROCOSTO) AS CENTRO_COSTO,
                        CI.NOMCERTIFICACION, SS.FECHA_LOGRO_CERTIFICACION,
                        SS.OBSERVACIONES_SOLICITUD, CASE SS.APLICAR_PRUEBA_TECNICA WHEN 'S' THEN 'SI' ELSE 'NO' END AS APLICAR_PRUEBA_TECNICA,
                        SS.PERSONA_RETIRO,
                        SC.IDCARGO,SC.NOMCARGO,SP.IDPROYECTO,SP.NOMPROYECTO,
                         SS.CALIFICADOR_PRUEBA_TECNICA AS ID_CALIFICADOR_PRUEBA_TECNICA, CONCAT(US.USR_FIRSTNAME,' ',US.USR_LASTNAME) AS CALIFICADOR_PRUEBA_TECNICA,
                         SS.CALIFICADOR_ENTREVISTA AS ID_CALIFICADOR_ENTREVISTA, CONCAT(US1.USR_FIRSTNAME,' ',US1.USR_LASTNAME) AS CALIFICADOR_ENTREVISTA,
                         SF.NOMFOCOTECNICO,
                         SS.USUARIO_SOLICITANTE, SS.FECHA_SOLICITUD,
                         CIU.NOMCIUDAD, TEC.NOMTERMINOCONTRATO,
                         GR.NOMGRUPO,
                         SS.PERSONA_RETIRO,
                         CASE SS.ESTADO WHEN 'A' THEN 'APROBADO' WHEN 'C' THEN 'CANCELADO' ELSE 'SIN APROBAR' END AS ESTADO
                        FROM SP_SOLICITUD SS
                         LEFT JOIN SP_CERTIFICACION CI on CI.IDCERTIFICACION = SS.PLAN_CERTIFICACION_INICIAL,
                         USERS US,
                         USERS US1,
                         SP_CARGO SC,
                         SP_PROYECTO SP,
                         SP_FOCO_TECNICO SF,
                         SP_TIPO_CONTRATO TC,
                         SP_TERMINO_CONTRATO TEC,
                         SP_TIPO_COMPENSACION TIC,
                         SP_CENTRO_COSTO CC,                         
                         SP_CIUDAD CIU,
                         SP_GRUPO GR
                        WHERE SS.CALIFICADOR_PRUEBA_TECNICA = US.USR_UID 
                        AND US.USR_UID = SS.CALIFICADOR_PRUEBA_TECNICA
                        AND US1.USR_UID = SS.CALIFICADOR_ENTREVISTA
                        AND SS.CALIFICADOR_ENTREVISTA = US1.USR_UID 
                        AND SC.IDCARGO = SS.CARGO_VACANTE 
                        AND SP.IDPROYECTO = SS.PROYECTO 
                        AND SF.IDFOCOTECNICO = SS.FOCO_TECNICO 
                        AND TC.IDTIPOCONTRATO = SS.TIPO_CONTRATO 
                        AND TEC.IDTERMINOCONTRATO = SS.TERMINO_CONTRATO 
                        AND TIC.IDTIPOCOMPENSACION = SS.TIPO_COMPENSACION 
                        AND CC.IDCENTROCOSTO = SS.CENTRO_COSTO                        
                        AND CIU.IDCIUDAD = SS.CIUDAD
                        AND GR.IDGRUPO = SS.GRUPO %s", $limit);
        
    
        $db = $this->getDefaultAdapter();
        $stmt = $db->query($sql);
        $data = $stmt->fetchAll();
        
        $sql = 'SELECT FOUND_ROWS()';
        $stmt = $db->query($sql);
        $total = $stmt->fetchColumn();
        
        $result = array(
            'data' => $data,
            'total' => $total
        );
        
        return $result;       
        
        
    }

}

